/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ia;

import java.io.FileReader;
import weka.classifiers.lazy.IBk;
import weka.core.Instance;
import weka.core.Instances;

/**
 *
 * @author Reno
 */
public class IA {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)  throws Exception{
        //Instanciando conjunto rpg
        String caminho = "rpg.arff";
        FileReader leitor = new FileReader(caminho);
        Instances conjuntoDados =  new Instances(leitor);
        conjuntoDados.setClassIndex(6);
        
        //Instanciando exemplo do conjunto
        Instance exemploTeste = new Instance(7);
        exemploTeste.setDataset(conjuntoDados);
        //Definindo valores dos atributos 
        //5,52,12,4,520,60,guerreiro
        exemploTeste.setValue(0, 5);
        exemploTeste.setValue(1, 52);
        exemploTeste.setValue(2, 12);
        exemploTeste.setValue(3, 4);
        exemploTeste.setValue(4, 520);
        exemploTeste.setValue(5, 60);
        //exemploTeste.setValue(6, guerreiro);
        
        conjuntoDados.add(exemploTeste);
        //IBK -> implementação do knn pela biblioteca
        //indicar qtos vizinhos serão considerados
        double classe = -1;
        IBk knn =  new IBk(3);
        knn.buildClassifier(conjuntoDados);
        //tipo de conjunto de dados = Instances
        classe = knn.classifyInstance(exemploTeste);// da resposta da classe
        System.out.println("Classe para ("+exemploTeste+"): "+classe);
    }
    
}
